package com.smedi.ismedi.progress.api.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 工程周月报列表入参 APP
 *
 * @author liaojiajie
 * @date 2022/09/20
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "工程周月报列表入参 APP")
public class EngineeringReportListAppRequest implements Serializable {

    /**
     * 头部id(项目id / 组织id)
     */
    @ApiModelProperty(value = "头部id(项目id / 组织id)")
    private Long organizationOrProjectId;

    /**
     * 主体院id
     */
    @ApiModelProperty(value = "主体院id")
    private Long mainCourtyardId;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;

    /**
     * 周月报类型（1.周报 2.月报）
     */
    @ApiModelProperty(value = "周月报类型（1.周报 2.月报）")
    private Long weekMonthType;

    /**
     * 类型（项目/组织）
     */
    @NotNull
    @ApiModelProperty(value = "头部id类型（project/organization）")
    private String type;

    /**
     * 项目名称 or 记录人
     */
    @ApiModelProperty(value = "项目名称 or 记录人")
    private String projectNameOrRecordUser;

    /**
     * 状态 1、草稿；2、已退回；3、已撤销；4、主体院待审批；5、EPC项目经理待审批；6已发布
     */
    @ApiModelProperty(value = "状态 1、草稿；2、已退回；3、已撤销；4、主体院待审批；5、EPC项目经理待审批；6已发布")
    private Long status;

    /**
     * 分页页码
     */
    @ApiModelProperty(value = "分页页码")
    private Long offset;

    /**
     * 每页行数
     */
    @ApiModelProperty(value = "每页行数")
    private Long pageSize;

}
